SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[SP_TXMVTO_CNTB_I31]             
/*-------------------------------------------------------------------*/                        
/*----- Empresa           : OFISIS S.A.                          ----*/                        
/*----- Cliente           : OFISIS S.A.                          ----*/                        
/*----- Sistema           : Contabilidad                         ----*/                        
/*----- Modulo            : Empresa                              ----*/                        
/*----- Programa          : Proceso de FAS - 52                  ----*/    
/*----- Nombre            : SP_TXMVTO_CNTB_I31                   ----*/    
/*----- Script            : TXMVTO_CNTB                          ----*/    
/*----- Desarrollado por  : Jos‚ Alberto Guevara(JAG)            ----*/    
/*----- Fecha             : 07/11/2003                           ----*/    
/*----- Base de Datos     : MS SQL Server                        ----*/    
/*----- Version BD        : 7.0                                  ----*/    
/*-------------------------------------------------------------------*/    
/*-------------------------------------------------------------------*/    
/*----- Comentarios  : Proceso de FAS 52                         ----*/    
/*----- Realiza el proceso de Traslacion segun sea el tipo de Cambio, PARA TODAS LAS CUENTAS-*/    
/*----- PRO(Proceso), TRA(transaccion), CIE (Cierre)             ----*/    
/*-------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- ModIficado 1 por : percy garcia                           -----*/    
/*----- Fecha ModIfica   : 05/06/2004                             -----*/    
/*----- Detalle ModIfica : usuario creacion y modIf               -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- ModIficado 2 por : percy garcia                           -----*/    
/*----- Fecha ModIfica   : 09/11/2006                             -----*/    
/*----- Detalle ModIfica : SE COMENTO ESTA VALID If @CNIM_MVTO_ORIG != 0   
PARA que transfiera importes orig en cero              -----*/    
/*---------------------------------------------------------------------*/    
                        
/*-------------------------------------------------------------------*/    
/*----- Drop procedure SP_TXMVTO_CNTB_I31                        ----*/    
/*----- Grant EXECUTE on SP_TXMVTO_CNTB_I31 to PUBLIC                ----*/    
/*----- SP_TXMVTO_CNTB_I31 '01','OFISIS', '07/09/2005', 1,2, 'DOL',2005,1,1 ----*/    
/*-------------------------------------------------------------------*/                        
/*------ModIficado por :  PRECY GARCIA                  -----*/                        
/*------Fecha:            04/06/2004                            -----*/                        
/*------Comentario:       SE COLOCO Isnull EN CURSOR PARA OPER. -----*/                        
/*-------------------------------------------------------------------*/                                    
@ISCO_EMPR  TD_VC_002,    
@ISCO_USUA          TD_VC_008,      
@IDFE_USUA          TD_DT_001,     
@INNU_CNTB_EMP1  TD_IN_001_CONT,                        
@INNU_CNTB_EMP2  TD_IN_001_CONT,                        
@ISCO_MONE_CTB2  TD_VC_003,                        
@INNU_ANNO  TD_IN_004_ANNO,                        
@INNU_MES1  TD_IN_002_MESE,                        
@INNU_MES2  TD_IN_002_MESE                        
As                        
Begin Transaction SP_TXMVTO_CNTB_I31                        
Declare                         
@CSCO_UNID_CNTB  TD_VC_003,                        
@CSCO_OPRC_CNTB         TD_VC_003,                        
@CNNU_MESE  TD_IN_002_MESE,                        
@CSNU_ASTO  TD_VC_010,                        
@CNNU_SECU  TD_IN_001,                        
@CDFE_ASTO_CNTB  TD_DT_001,                       
@CSCO_CNTA_EMPR  TD_VC_020_CNTA,                        
@CSTI_AUXI_EMPR  TD_VC_001,                        
@CSCO_AUXI_EMPR   TD_VC_020,                        
@CSTI_DOCU  TD_VC_003,                        
@CSNU_DOCU  TD_VC_020,                        
@CDFE_DOCU  TD_DT_001,    
@CDFE_DOCU_VENC  TD_DT_001,    
@CSTI_CAMB  TD_VC_003,            
@CSCO_MONE  TD_VC_003,                        
@CNFA_CAMB   TD_NU_015_006,                        
@CSTI_OPER TD_VC_003,                        
@CNIM_MVTO_ORIG  TD_NU_016_004,                        
@CNIM_MVTO_CNTB  TD_NU_016_004,           
@CSDE_GLOS  TD_VC_100,                        
@CSNO_GIRA  TD_VC_100,    
@CSCO_ORDE_SERV  TD_VC_020,                        
@CSSI_MVTO_CNTB  TD_VC_003,                        
@CSST_CNTA_CAMB  TD_VC_003,                        
@CNFA_VNTA_REFE  TD_NU_015_006,                        
@CNFA_CAMB_DIAR  TD_NU_015_006,                        
@VSID_GEST  TD_VC_003,                        
@VSID_DIfE  TD_VC_003,                        
@VSOP_GEST  TD_VC_003,                        
@VSOP_DIfE  TD_VC_003,                        
@VNNU_ULTI_ASTO  TD_IN_001,                        
@VSCO_MONE_NACI  TD_VC_003,                   
@VSCO_MONE_0001  TD_VC_003,                     
@VSCO_MONE_BA01  TD_VC_003,                   
@VSST_TIPO_CAMB  TD_VC_003,              
@VSST_TCAM_EMPR  TD_VC_003,      
@VSID_0004  TD_VC_003,    
@VSID_EXCL_FAS5  TD_VC_003,    
@VSOP_GEST_0004  TD_VC_003,              
@VSOP_DIfE_0004  TD_VC_003,               
@VNVA_0001       TD_NU_016_004,  
@VSST_ASIE_GEST  TD_VC_003,   
@VSST_GEST_LINE  TD_VC_001,  

@VSCO_MONE_CORP  TD_VC_003

SELECT	@VSCO_MONE_CORP = CO_MONE 
FROM	TMCORP
                        
 /***** Obtiene informacion sobre operaciones de gestion y dIferencia de cambio *****/                        
                  
 Select  @VSID_GEST = ID_GEST,    
   @VSID_DIfE = ID_DIfE,    
   @VSID_0004 = ID_0004,     
   @VSID_EXCL_FAS5 = ID_0006    
 From TTCNTB_EMPR                        
 Where CO_EMPR = @ISCO_EMPR       
 And   NU_CNTB_EMPR = @INNU_CNTB_EMP1                   
              
---- Obtiene Moneda de la Empresa ----              
 Select  @VSCO_MONE_NACI = CO_MONE_NACI                        
 From TMEMPR                    
 Where CO_EMPR = @ISCO_EMPR                    
                        
 ---- Obtiene la Operacion de Gestion ----                     
 Select @VSOP_GEST = CO_OPRC_CNTB                        
 From TTIDEN_OPER                        
 Where  CO_EMPR = @ISCO_EMPR                       
 And NU_CNTB_EMPR = @INNU_CNTB_EMP1                        
 And ID_OPRC = @VSID_GEST                   
      
 ---- Obtiene la Operacion de DIferencia de Cambio de Op. Canceladas ----      
 Select @VSOP_DIfE = CO_OPRC_CNTB                        
 From TTIDEN_OPER       
 Where  CO_EMPR = @ISCO_EMPR                       
 And NU_CNTB_EMPR = @INNU_CNTB_EMP1                        
 And ID_OPRC = @VSID_DIfE                        
              
 ---- Obtiene la Operacion de DIferencia de Cambio de Op. Pendientes ----      
              
 Select @VSOP_DIfE_0004 = CO_OPRC_CNTB    
 From TTIDEN_OPER    
 Where  CO_EMPR = @ISCO_EMPR    
 And NU_CNTB_EMPR = @INNU_CNTB_EMP1    
 And ID_OPRC = @VSID_0004    
      
 --- SI EL TIPO DE CAMBIO DE EMPRESA ---              
 Select @VSST_TCAM_EMPR = ST_TIPO_CAMB, @VSST_ASIE_GEST = ST_ASIE_GEST, @VSST_GEST_LINE = ST_GEST_LINE  
 From TMPARA_CONT                   
 Where CO_EMPR = @ISCO_EMPR                  
 And NU_ANNO = 9999      
             
 -----------------------------------              
                        
 /* Elimina datos de la contabilidad 2 */                        
 -- Elimina todos los asientos, excepto Gestion  
 Delete From TXMVTO_CNTB    
 Where CO_EMPR = @ISCO_EMPR    
 And   NU_CNTB_EMPR = @INNU_CNTB_EMP2    
 And   CO_OPRC_CNTB NOT IN ( Select CO_OPRC_CNTB    
        From TTIDEN_OPER    
        Where CO_EMPR = @ISCO_EMPR    
          And NU_CNTB_EMPR = @INNU_CNTB_EMP1     
          And ID_OPRC = @VSID_EXCL_FAS5)   
 And   ST_GEST = 'N'   
 And   NU_ANNO = @INNU_ANNO     And   NU_MESE = @INNU_MES2    
    
 If @@ERROR <> 0  /*si falla  el Delete*/                        
 Begin                         
   Rollback Transaction SP_TXMVTO_CNTB_I31                        
   Return                        
 End                        
  
 -- Elimina todos los asientos de Gestion, excepto aquellos que se originan de asientos que no son transferidos por FAS - 52  
 Delete From TXMVTO_CNTB  
 Where CO_EMPR = @ISCO_EMPR  
 And   NU_CNTB_EMPR = @INNU_CNTB_EMP2  
 And   CO_OPRC_ORIG NOT IN ( Select CO_OPRC_CNTB  
        From TTIDEN_OPER  
        Where CO_EMPR = @ISCO_EMPR  
          And NU_CNTB_EMPR = @INNU_CNTB_EMP1   
          And ID_OPRC = @VSID_EXCL_FAS5)  
 And   ST_GEST = 'S'  
 And   NU_ANNO = @INNU_ANNO  
 And   NU_MESE = @INNU_MES2  
  
 If @@ERROR <> 0  /*si falla  el Delete*/                      
 Begin                       
   Rollback Transaction SP_TXMVTO_CNTB_I31                        
   Return                        
 End                      
                        
 Delete From TCFECH_PROC                        
 Where CO_EMPR = @ISCO_EMPR       
 And   NU_CNTB_EMPR = @INNU_CNTB_EMP2      
 And   NU_ANNO = @INNU_ANNO       
 And   NU_MESE = @INNU_MES2    
 And   CO_OPRC_CNTB NOT IN ( Select CO_OPRC_CNTB    
        From TTIDEN_OPER    
        Where CO_EMPR = @ISCO_EMPR    
          And NU_CNTB_EMPR = @INNU_CNTB_EMP1     
          And ID_OPRC = @VSID_EXCL_FAS5)    
                                           
 If @@ERROR <> 0     /*si falla  el Delete*/                        
 Begin                         
   Rollback Transaction SP_TXMVTO_CNTB_I31                        
   Return                        
 End                        
               
 /* Crea periodos conTables */                  
 Insert Into TCFECH_PROC                         
 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ULTI_ASTO,          
  ST_CIER_CNTB, FE_CIER_CNTB, ST_MAYO_CNTB, FE_MAYO_CNTB, CO_USUA_CREA, FE_USUA_CREA,                        
  CO_USUA_MODI, FE_USUA_MODI )                        
  Select CO_EMPR, @INNU_CNTB_EMP2, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, 0,                        
  'N', Null, 'N', Null, @ISCO_USUA, @IDFE_USUA, @ISCO_USUA, @IDFE_USUA                        
  From TCFECH_PROC                        
  Where CO_EMPR = @ISCO_EMPR       
  And   NU_CNTB_EMPR = @INNU_CNTB_EMP1       
  And   NU_ANNO = @INNU_ANNO       
  And   NU_MESE = @INNU_MES2                  
  And   CO_OPRC_CNTB NOT IN ( Select CO_OPRC_CNTB    
        From TTIDEN_OPER    
        Where CO_EMPR = @ISCO_EMPR    
          And NU_CNTB_EMPR = @INNU_CNTB_EMP1     
          And ID_OPRC = @VSID_EXCL_FAS5)    
                       
 If @@ERROR <> 0     /*si falla  el Insert*/                        
 Begin                         
   Rollback Transaction SP_TXMVTO_CNTB_I31                        
   Return                        
 End                        
                        
 Declare CU_TXMVTO_CNTB_I27_1 Cursor                        
 For                        
 Select t1.CO_UNID_CNTB, t1.CO_OPRC_CNTB, t1.NU_ANNO, t1.NU_MESE, t1.NU_ASTO, t1.NU_SECU,                    
   t1.FE_ASTO_CNTB, t1.CO_CNTA_EMPR, t1.TI_AUXI_EMPR, t1.CO_AUXI_EMPR, t1.TI_DOCU, t1.NU_DOCU,                    
   t1.FE_DOCU, t1.TI_CAMB, t1.CO_MONE, t1.FA_CAMB, t1.TI_OPER, t1.IM_MVTO_ORIG, t1.IM_MVTO_CNTB,                    
   t1.DE_GLOS, t1.NO_GIRA, t1.CO_ORDE_SERV, t1.SI_MVTO_CNTB, t2.ST_CNTA_CAMB, t1.FA_CAMB_DIAR,                    
   T2.ST_TIPO_CAMB, t1.FE_DOCU_VENC    
 From TXMVTO_CNTB t1   
   Left Outer Join TMPLAN_EMPR t2      
   On t1.CO_EMPR = t2.CO_EMPR   
   And t1.CO_CNTA_EMPR = t2.CO_CNTA_EMPR   
   And T2.NU_ANNO = 9999   
 Where t1.CO_EMPR = @ISCO_EMPR   
 And   t1.NU_CNTB_EMPR = @INNU_CNTB_EMP1   
 And   Not ( t1.CO_OPRC_CNTB = Isnull(@VSOP_GEST, '')   
       Or t1.CO_OPRC_CNTB = Isnull(@VSOP_DIfE, '')   
       Or t1.CO_OPRC_CNTB = Isnull(@VSOP_DIfE_0004, '')   
       Or t1.CO_OPRC_CNTB IN ( Select CO_OPRC_CNTB   
      From TTIDEN_OPER    
      Where  CO_EMPR = @ISCO_EMPR    
      And NU_CNTB_EMPR = @INNU_CNTB_EMP1    
      And ID_OPRC = @VSID_EXCL_FAS5))      
 And T1.ST_DIFE_CAMB = 'N'      
 And t1.ST_REDO = 'N'     
 And t1.ST_GEST = 'N'      
 And t1.NU_ANNO = @INNU_ANNO                   
 And t1.NU_MESE >= @INNU_MES1               
 And t1.NU_MESE <= @INNU_MES2               
 And t1.SI_MVTO_CNTB = 'APR'               
 Order By t1.CO_EMPR, t1.NU_CNTB_EMPR, t1.NU_ANNO, t1.NU_MESE, t1.NU_ASTO, t1.NU_SECU    
                        
 Open CU_TXMVTO_CNTB_I27_1                        
 Fetch CU_TXMVTO_CNTB_I27_1 Into @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @INNU_ANNO, @CNNU_MESE, @CSNU_ASTO,       
        @CNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU,       
        @CSNU_DOCU, @CDFE_DOCU, @CSTI_CAMB,@CSCO_MONE, @CNFA_CAMB, @CSTI_OPER, @CNIM_MVTO_ORIG,       
        @CNIM_MVTO_CNTB, @CSDE_GLOS, @CSNO_GIRA,@CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, @CSST_CNTA_CAMB,                         
        @CNFA_CAMB_DIAR, @VSST_TIPO_CAMB, @CDFE_DOCU_VENC    
                     
 While @@Fetch_status = 0                        
 Begin                        
       
-- If @CNIM_MVTO_ORIG != 0                        
-- Begin                      
  If @CSCO_MONE = @ISCO_MONE_CTB2                        
   Begin                        
    Select @CNIM_MVTO_CNTB = @CNIM_MVTO_ORIG                        
    Select @CSTI_CAMB = 'PAC'                        
    If @CNIM_MVTO_CNTB != 0.00                        
      Select @CNFA_CAMB = Round((@CNIM_MVTO_ORIG / @CNIM_MVTO_CNTB),3)                        
    Else                        
      Select @CNFA_CAMB = 1.000000                        
   End                                
  Else  -- @CSCO_MONE <> @ISCO_MONE_CTB2                      
   Begin                     
-- PARA EL A¥O EN CURSO                
    If Isnull(@VSST_TIPO_CAMB,'') = ''                  
      Select @VSST_TIPO_CAMB = @VSST_TCAM_EMPR      
    
---------------- OBTIENE LA MONEDA ---------------------------                  
    Select @VSCO_MONE_0001 = CO_MON1,                   
      @VSCO_MONE_BA01 = CO_MONE_BAS1                    
    From TMCONV_MONE                   
    Where CO_MONE_ORIG = @CSCO_MONE                   
    And CO_MONE_DEST = @ISCO_MONE_CTB2                  
    
--- FACTOR DE CAMBIO SI EL TIPO DE CAMBIO es de Transaccion --                  
   If @VSST_TIPO_CAMB = 'TRA'                  
     Begin    
      --If @CNFA_CAMB_DIAR > 1    
       --Select @CNFA_CAMB = @CNFA_CAMB_DIAR    
      --Else    
	   IF (@CSCO_MONE = @VSCO_MONE_NACI)
			Select @CNFA_CAMB = @CNFA_CAMB_DIAR    
	   else
			Select @CNFA_CAMB = (Case When @CSST_CNTA_CAMB = 'COM' Then FA_CMPR_OFIC    
												  Else FA_VNTA_OFIC End)    
			From TCFACT_CAMB                       
			Where CO_MONE = @VSCO_MONE_0001                      
			And CO_MONE_BASE = @VSCO_MONE_BA01                    
			And Convert(DateTime, Convert(Varchar, FE_CAMB, 103), 103)  =                       
			Convert(DateTime, Convert(Varchar, @CDFE_ASTO_CNTB, 103), 103)                     
     End    
    
--- FACTOR DE CAMBIO SI EL TIPO DE CAMBIO ES PROMEDIO MENSUAL                  
    If @VSST_TIPO_CAMB = 'PRO'                  
      Select @CNFA_CAMB = (Case When @CSST_CNTA_CAMB = 'COM' Then FA_CAMB_CMPR                    
                           Else FA_CAMB_VNTA End)      
      From TCFACT_PRME                 
      Where CO_EMPR = @ISCO_EMPR                  
      And CO_MONE = @VSCO_MONE_0001                    
      And CO_MONE_BASE = @VSCO_MONE_BA01                  
      And NU_ANNO = @INNU_ANNO                     
      And NU_MESE = @INNU_MES1                      
                  
--- FACTOR DE CAMBIO SI EL TIPO DE CAMBIO ES CIERRE                  
    If @VSST_TIPO_CAMB = 'CIE'                  
      Select @CNFA_CAMB = (Case When @CSST_CNTA_CAMB = 'COM' Then FA_CAMB_CMPR                    
                           Else FA_CAMB_VNTA End)                     
      From TCFACT_CIER                     
      Where CO_MONE = @VSCO_MONE_0001                    
      And NU_ANNO = @INNU_ANNO                     
      And NU_MESE = @INNU_MES1                   
                  
    ---- Convierte importe original en importe moneda contabilidad destino --       
    Execute  SP_CONV_MONE_Q06  @ISCO_EMPR, @CSCO_MONE, @INNU_CNTB_EMP2, @CSTI_CAMB, @CSST_CNTA_CAMB,                        
    @CNFA_CAMB, @CDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P',@VSST_TIPO_CAMB, @CNIM_MVTO_CNTB OutPut, @VNVA_0001 OutPut               
  End               
    
  Insert Into TXMVTO_CNTB                        
  (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,                        
   NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR, TI_DOCU,                         
   NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER,                        
   IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, NO_GIRA, CO_ORDE_SERV, SI_MVTO_CNTB, ST_GEST, ST_REDO,    
   CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)    
  Values                        
  (@ISCO_EMPR, @INNU_CNTB_EMP2, @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @INNU_ANNO, @CNNU_MESE, @CSNU_ASTO,                        
   @CNNU_SECU, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU,                        
   @CSNU_DOCU, @CDFE_DOCU, @CDFE_DOCU_VENC, @CSST_CNTA_CAMB, @CSCO_MONE, @CNFA_CAMB, @CNFA_CAMB, @CSTI_OPER,                        
   Isnull(@CNIM_MVTO_ORIG,0.00), Isnull(Round(@CNIM_MVTO_CNTB, 2),0.00), @CSDE_GLOS, @CSNO_GIRA,       
   @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, 'N', 'N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')    
                        
  If @@ERROR <> 0        /*si falla  el Insert*/                        
  Begin                         
    Close CU_TXMVTO_CNTB_I27_1                        
    Deallocate CU_TXMVTO_CNTB_I27_1                        
    Rollback Transaction SP_TXMVTO_CNTB_I31                        
    Return                        
  End                         
-- End                        
                        
Fetch CU_TXMVTO_CNTB_I27_1 into  @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @INNU_ANNO, @CNNU_MESE, @CSNU_ASTO, @CNNU_SECU,       
 @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSTI_DOCU, @CSNU_DOCU, @CDFE_DOCU,       
 @CSTI_CAMB, @CSCO_MONE, @CNFA_CAMB, @CSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS, @CSNO_GIRA,                        
 @CSCO_ORDE_SERV, @CSSI_MVTO_CNTB, @CSST_CNTA_CAMB, @CNFA_CAMB_DIAR, @VSST_TIPO_CAMB, @CDFE_DOCU_VENC    
End                        
Close CU_TXMVTO_CNTB_I27_1                        
Deallocate CU_TXMVTO_CNTB_I27_1                        
                    
/* Actualiza Fecha de Proceso con el ultimo numero de asiento */                        
Declare CU_TXMVTO_CNTB_I27_2 Cursor                        
For                        
Select CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, max(convert(int, NU_ASTO))                        
From TXMVTO_CNTB                        
Where CO_EMPR = @ISCO_EMPR       
And   NU_CNTB_EMPR = @INNU_CNTB_EMP2       
And   NU_ANNO = @INNU_ANNO       
And   NU_MESE between @INNU_MES1 And @INNU_MES2                        
Group By CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE                        
                        
Open CU_TXMVTO_CNTB_I27_2                        
Fetch CU_TXMVTO_CNTB_I27_2 Into @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @INNU_ANNO, @CNNU_MESE, @VNNU_ULTI_ASTO    
While @@Fetch_status = 0    
Begin    
  Update TCFECH_PROC    
  Set NU_ULTI_ASTO = @VNNU_ULTI_ASTO,    
  CO_USUA_MODI =  @ISCO_USUA,    
  FE_USUA_MODI  = @IDFE_USUA    
  Where CO_EMPR = @ISCO_EMPR And                        
  NU_CNTB_EMPR = @INNU_CNTB_EMP2 And                        
  CO_UNID_CNTB = @CSCO_UNID_CNTB And                        
  CO_OPRC_CNTB = @CSCO_OPRC_CNTB And NU_ANNO = @INNU_ANNO And                        
  NU_MESE = @CNNU_MESE    
    
  If @@ERROR <> 0    
  Begin    
    Rollback Transaction SP_TXMVTO_CNTB_I31    
    Return    
  End    
    
Fetch CU_TXMVTO_CNTB_I27_2 Into @CSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @INNU_ANNO, @CNNU_MESE, @VNNU_ULTI_ASTO    
End    
Close CU_TXMVTO_CNTB_I27_2    
Deallocate CU_TXMVTO_CNTB_I27_2    
  
If @VSST_GEST_LINE = 'S' And @VSST_ASIE_GEST = 'ORI'  
  Exec SP_TXMVTO_CNTB_I23 @ISCO_EMPR, @ISCO_USUA, @IDFE_USUA, @INNU_CNTB_EMP2, @INNU_ANNO, @INNU_MES1  
  
Commit TRAN    
    
Return    
/*-------------------------------- Fin ------------------------------------*/        


GO
